#ifndef FOUNDATION_WEBCONFIG_WEBVENDOR_H
#define FOUNDATION_WEBCONFIG_WEBVENDOR_H

#include <vendor_global.h>

class WebVendor : public vendor::VendorBase {
public:
    WebVendor();
    virtual ~WebVendor();

    virtual int Run();
    virtual std::string Name();
    virtual void Stop(int signal);

protected:
    virtual int ParseCmdline(const std::string &optname, const std::string &optarg);
    virtual vendor::MyOpt *GetOpts();
    virtual int GetOptSize();

private:
    void DumpWebVendor();
    void DefineWeb();

private:
    int32_t listenPort_ = 8880;
    std::string authFile_;
    std::string routeFile_;
    std::string docFile_;
    std::string homeDir_;
    bool debug_ = false;
    int finish_ = 0;
    int duration_ = 0;
};
#endif // FOUNDATION_WEBCONFIG_WEBVENDOR_H